<?php
/*
	插件菜单设置
*/
defined('BY_JYA') or exit('error');
$_RQ['op']=$_RQ['op']?$_RQ['op']:'framess';
$return=array();
$tabs=array(
	//array('op'=>'set','title'=>'菜单类型设置'),
	array('op'=>'framess','title'=>'主菜单设置'),
	array('op'=>'menu','title'=>'辅助菜单设置'),
	array('op'=>'cover','title'=>'入口菜单设置'),
);
if(!$_SESSION['plugin_name']){
	exi('请先选择插件！','error');
}
$params=array('plugin_id'=>$_SESSION['plugin_id']);
if($_RQ['op']=='set'){
	if($_RQ['postdata']){
		$post=get_postdata();
		$menu_type=intval($post['menu_type']);
		$params['menu_type']=$menu_type;
		cloud_request('plugin.plugin.menu_type',$params);
		$url=$menu_type?'framess':'menu';
		exi('设置成功！','',$url);
	}
	$menu_type=cloud_request('plugin.plugin.menu_type',$params);
	$return['item']=array('menu_type'=>$menu_type);
	$return['htmls']=array(
		'type'=>'edit',
		'tabs'=>$tabs,
		'edit'=>array(
			array('title'=>'【<red>温馨提示</red>】：
		<br>1、这里的页面可视化操作，只适合前期新手开发使用；
		<br>2、对手已经上手的，直接文件代码编辑也许开发速度更快（本地菜单的实现代码位置：插件目录/model/menu.php文件）；
		<br>3、[新手必看]-快速开发小技巧http://s.jinyunweb.com/manage/index.php?p=core&a=article.show&id=418
		','type'=>'tip'),
			array('type'=>'radio','name'=>'menu_type','title'=>'菜单类型','options'=>'types'),
		),
	);
	$return['types']=array(
		'0'=>'简易型菜单',
		'1'=>'三级导航菜单',
	);
	exi($return);
}
if($_RQ['op']=='menu'){
	//业务功能菜单设置
	if($_RQ['postdata']){
		$post=get_postdata();
		$id=intval($post['id']);
		$menu=ijson_encode($post['menus']);
		pdo_update('core_plugins',array('menus'=>$menu),array('id'=>$id));
		exi('设置成功！');
	}
	$item=pdo_get('core_plugins',array('name'=>$_SESSION['plugin_name']),array('id','menus'));
	$item['menus']=$item['menus']?json_decode($item['menus'],true):array();
	$return['item']=$item;
	$return['htmls']=array(
		'type'=>'edit',
		'tabs'=>$tabs,
		'edit'=>array(
			array('title'=>'【<red>温馨提示</red>】：
		<br>1、这里的页面可视化操作，只适合前期新手开发使用；
		<br>2、对手已经上手的，直接文件代码编辑也许开发速度更快（本地菜单的实现代码位置：插件目录/model/menu.php文件）；
		<br>3、[新手必看]-快速开发小技巧http://s.jinyunweb.com/manage/index.php?p=core&a=article.show&id=418
		','type'=>'tip'),
			array(
				'type'=>'array',
				'name'=>'menus',
				'show_detail'=>true,
				'title'=>'设置业务菜单',
				'add_tip'=>'添加一个菜单',
				'list'=>array(
					array('type'=>'string','name'=>'name','title'=>'菜单页面action'),
					array('type'=>'string','name'=>'title','title'=>'菜单名称'),
				),'details'=>array(
					array('type'=>'string','name'=>'name','title'=>'页面action'),
					array('type'=>'string','name'=>'title','title'=>'菜单名称'),
				),
			),
		),
	);
	exi($return);
}
if($_RQ['op']=='cover'){
	//入口菜单设置
	if($_RQ['postdata']){
		$post=get_postdata();
		$id=intval($post['id']);
		$covers=ijson_encode($post['covers']);
		pdo_update('core_plugins',array('covers'=>$covers),array('id'=>$id));
		exi('设置成功！');
	}
	$item=pdo_get('core_plugins',array('name'=>$_SESSION['plugin_name']),array('id','covers'));
	$item['covers']=$item['covers']?json_decode($item['covers'],true):array();
	$return['item']=$item;
	$return['htmls']=array(
		'type'=>'edit',
		'tabs'=>$tabs,
		'edit'=>array(
			array('title'=>'【<red>温馨提示</red>】：
		<br>1、这里的页面可视化操作，只适合前期新手开发使用；
		<br>2、对手已经上手的，直接文件代码编辑也许开发速度更快（本地菜单的实现代码位置：插件目录/model/menu.php文件）；
		<br>3、[新手必看]-快速开发小技巧http://s.jinyunweb.com/manage/index.php?p=core&a=article.show&id=418
		','type'=>'tip'),
			array(
				'type'=>'array',
				'name'=>'covers',
				'show_detail'=>true,
				'title'=>'设置业务菜单',
				'add_tip'=>'添加一个菜单',
				'list'=>array(
					array('type'=>'string','name'=>'name','title'=>'入口页面action'),
					array('type'=>'string','name'=>'title','title'=>'菜单名称'),
				),'details'=>array(
					array('type'=>'string','name'=>'name','title'=>'入口页面action'),
					array('type'=>'string','name'=>'title','title'=>'菜单名称'),
				),
			),
		),
	);
	exi($return);
}
if($_RQ['op']=='framess'){
	//插件三级导航菜单设置
	if($_RQ['postdata']){
		$postdata=get_postdata();
		//根据排序调整菜单顺序
		paixu($postdata,'paixu');
		foreach($postdata as &$menu){
			if($menu['show_child']){
				unset($menu['show_child']);
			}
			if(is_array($menu['child'])){
				foreach($menu['child'] as &$sub){
					if($sub['show_child']){
						unset($sub['show_child']);
					}
					if(is_array($sub['child'])){
						foreach($sub['child'] as &$row){
							if(!$row['action'] && !$row['url']){
								exi('菜单：'.$row['title'].'未设置动作！','error');
							}
						}
					}
					if(is_array($sub['child']) && count($sub['child'])>1){
						paixu($sub['child'],'paixu');
					}
				}
			}
			if(count($menu['child'])>1){
				paixu($menu['child'],'paixu');
			}
	}		
	$params['menus']=$postdata;
	//cloud_request('plugin.plugin.framess',$params);
	$menu=cfc('tools')->var_export($params['menus']);
	$code=<<<TPL
<?php
defined('BY_JYA') or exit('error');
return {$menu};
TPL;
	$code=str_to_update($code);
	$search=array(
		'plugin_name'=>$_SESSION['plugin_name'],
		'code'=>$code,
	);
	if(!$search['plugin_name']){
		eci('请先选择插件！','error');
	}
	$update=file_get_contents(ROOT_D.'/manage/actions/app_develop/mbs/update/edit_menu.php');
	$update=cfc('tools')->replace($search,$update);
		exi('设计成功！您可以查看插件目录下的/model/menu.php 文件，该文件是系统导航菜单的声明文件！');
	}
	$file=ROOT_PLUGIN.$_SESSION['plugin_name'].'/model/menu.php';
	if(is_file($file)){
		$framess=require($file);
	}else{
		$framess=array();
	}
	$return=array('menus'=>$framess);
	$return['tabs']=$tabs;
	exi($return);
}